문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 2038년 문제 (문단 편집) == 해결책 == 시간을 저장할 때 64비트 정수형을 쓰도록 OS와 프로그램을 고친다는 생각은 누구나 할 수 있지만, 그러려면 기존에 나온 프로그램이나 데이터를 전부 갈아엎어야 한다. 32비트 OS가 주류였던 시기에는 누구나 시간을 저장할 때 32비트를 사용했으므로 실행 파일, 라이브러리, OS API/ABI는 시간을 다룰 때 32비트 정수형이 올 것을 가정하고 만들어져 있다. 이런 상황에서 시간 함수 및 자료형만 64비트 정수형으로 바뀌면 기존의 실행 파일과 라이브러리는 OS에서 64비트 정수형으로 시간을 처리한다는 것을 모르므로, 수정한 OS에 맞춰서 다시 컴파일하지 않으면 의도한 대로 작동하지 않는다. 한 예로 [[OpenBSD]] 5.5는 32비트 플랫폼에서도 64비트로 시간 값을 처리해서 2038년 문제에서 벗어났지만, 바로 이 문제 때문에 ABI가 바뀌어서 OpenBSD 5.4의 실행 파일과 라이브러리를 실행할 수 없다. 게다가 일부 네트워크 프로토콜, 파일 형식은 내부적으로 32비트로 시간을 저장하는데 이걸 단시일 내에 모두 64비트로 전환할 수 있다는 보장이 없다. 프로그래밍 언어인 [[PHP]] 의 경우 5.4 버전부터 64비트 버전이 나왔으므로 5.3 이하 버전은 2038년 문제에 영향받게 된다. 컴퓨터 업계 쪽 사람들은 의외로 느긋하게 생각하고 있는데, 지금부터 프로그램을 짤 때 유닉스 시간에 64비트 정수형을 쓰면 된다는 것이다. 유닉스 시간을 설계하던 당시에도 이 문제를 알고 있었지만 "후손들이 그 전에 알아서 잘 해결할 거야"였다나 뭐라나. 국내 시스템은 2038년 문제가 없다고 봐도 된다. 중국에선 국내 소프트웨어를 이용해 시스템을 구축하고 상용화하기 전에 테스트를 통해 2038년 문제를 감지하고 수정 버전을 요청한 적이 있다. 때문에 인류는 이미 [[2000년 문제|한 차례]] 경험이 있기도 하고 남은 시간 동안 대처가 충분히 이뤄져서 막상 2038년이 되면 [[Y2K]]처럼 시끄럽지는 않을 확률이 크다. 64비트 정수형도 수 표시에 한계가 있긴 하지만, 오류가 발생하는 시점은 서기 1970년 1월 1일 UTC 00:00:00으로부터 \left ( {2}^{63}-1 \right )초[* 9, 223,372, 036, 854, 775, 807초= 922경 3372조 368억 5477만 5807초] 후 시점인 약 '''서기 2922억년'''(서기 2.922×10^^11^^년)이라 정말 머나먼 미래의 일이기 때문에 어차피 그 시점에는 64비트 컴퓨터 문제를 논할 필요가 없다. 태양의 주계열 수명이 대략 80억 년 정도 남았다고 추정하면 이것이 지구의 예상 수명이 되겠는데,[* 80억 년 후 태양이 [[적색 거성]]이 되어 지구를 삼키게 된다. 그러나 80억 년 정도 지나고 나서야 인류가 살 수 없는 환경이 되는 게 아니라 서서히 태양 때문에 살지 못하는 세상이 다가오는 것이다. 그래서 앞으로 10억 년도 못 가 태양열이 지금보다 훨씬 강해져서 지구에 생명체가 살 수 없게 된다. 이미 21세기 들어 지구기온 1도 상승만으로도 수많은 동식물이 힘들어하는 것을 보면 10억 년까지 가지도 못할지도 모른다. 어찌됐건 2천억 년이 넘어버린 이 시점에 태양은 [[백색 왜성]]이 되어 죽은지 오래일 것이고 나머지 행성들 역시 작살난 지 오래됐을테니 태양계는 없다고 보면 된다.] 이보다도 수십 배 긴 시간으로 대략 중형(M4V) [[적색 왜성]]의 수명과 맞먹는 수준이다[* 태양 질량의 1/4 정도 되는 적색 왜성의 예상 수명이 이 정도 된다.]. 혹시나 인류가 살아 있다고 쳐도 지구나 태양계와 전혀 상관없는 먼 행성에서 살면서 128비트 등 시스템을 발전시켜서 쓰고 있던지 아예 본질적으로 현대와는 다른 신 패러다임의 전산 체계로 살아가고 있을 것이다. 참고로, 128비트 정수형은 서기 1970년 1월 1일 UTC 00:00:00으로부터 \left ( {2}^{127}-1 \right )초[* 170141183460469231731687303715884105727초=1.70141183460469231731687303715884105727 \times {10}^{38}초] 후 시점에 문제가 발생한다. 이는 약 5.39×10^^30^^년[* 수로 환산하면 '''539[[양(수)|양]]'''이다. 이는 '''[[우주 멸망]]을 논할 수 있을 정도'''의 시간이고 이 기간 동안 평행우주가 파멸하고 재탄생하는 것이 여러 번 반복된다고 해도 될 정도다.]이다. 아래는 [[마야력|마야 달력]]의 [[2012년 지구멸망설|2012년]]과 유닉스 시간을 빗댄 만화다. [[파일:2012Calendarko.png]]저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기